package eTaxi;

/*
 * Nella classe profile il campo free viene usato come monitor
 * dai thread dei Taxi; per questo i metodi che operano sul campo
 * free sono synchronized. 
 */

public class TaxiProfile  {


String name;
String address;
int port;
boolean free;

public TaxiProfile (String n, String a, int p, boolean f) {
	this.name = n;
	this.address = a;
	this.port = p;
	this.free = f;
}

public synchronized boolean isFree() {
    return free;
}

public synchronized void setFree(boolean f) {
    this.free = f;
    notify();
}

public synchronized boolean go() {
	
	while (!free) {
	    try {
		wait();
		
	    }

	    catch (InterruptedException e) {
	    }
	}
	
	
	return free;
}



}
